Econometria Aplicada à Finanças

Mestrado Profissional em Administração

Prof. Washington Santos da Silva

IFMG - Campus Formiga

8 de outubro de 2024

O Que Estudamos até Agora?

Tópicos

  • Modelos de Regressão Linear

  • Diagnóstico do Modelo de Regressão Linear Múltipla - Seção-Cruzada

    • Multicolinearidade: Problemas e Diagnóstico
    • Endogeneidade
    • Heterocedasticidade: Problemas, Testes e Soluções

Na Aula de Hoje

Tópicos

  • Tipos de Dados Tradicionais em Finanças

  • Séries Temporais - Conceitos Básicos

  • Séries Temporais em R

  • Autocorrelação nos Resíduos

  • Testes para Autocorrelação

  • Modelos de Regressão com Séries Temporais em R

  • Convivendo com Autocorrelação

Tipos de Dados Tradicionais em Finanças

Dados em Secção-Cruzada

Definição

  • Dados em secção-cruzada (cross-sectional data) referem-se a dados coletados de várias entidades (unidades de observação) (como empresas, indivíduos, etc.) em um único ponto no tempo.

  • Esses dados capturam um instantâneo das variáveis de interesse associadas às entidades, permitindo a análise das diferenças entre entidades em um momento particular. A análise de secção-cruzada é útil para identificar padrões, correlações e comparações entre diferentes unidades observadas ao mesmo tempo, mas não captura mudanças ou dinâmicas ao longo do tempo.

Exemplo

  • Dados de 1.000 pequenas empresas para o ano de 2023.
empresa lucro ativo divida
1 500 2000 1500
2 600 2200 1600
3 550 2100 1550
\(\vdots\) \(\vdots\) \(\vdots\) \(\vdots\)
1000 435 1800 1350

Dados em Secções-Cruzadas Combinadas

Definição

  • Dados de secções-cruzadas combinadas (pooled cross-sectional data) referem-se a dados coletados de diferentes entidades em diferentes pontos no tempo, onde as entidades podem não ser as mesmas em cada ponto no tempo.

  • Essa estrutura permite a análise das mudanças no tempo em diferentes grupos de entidades, possibilitando a investigação de tendências e padrões temporais sem a necessidade de rastrear as mesmas unidades observacionais continuamente.

Exemplo

  • Dados de 500 pequenas empresas (diferentes) para os anos de 2020 e 2023
ano empresa lucro ativo divida
2020 1 500 2000 1500
2020 2 600 2200 1600
\(\vdots\) \(\vdots\) \(\vdots\) \(\vdots\) \(\vdots\)
2023 501 550 2100 1550
2023 502 620 2250 1620

Dados de Séries Temporais

Definição

  • Dados de séries temporais (time series data) referem-se a dados coletados ao longo do tempo (em geral, em intervalos regulares) sobre uma (série univariada) ou mais variáveis (série multivariada) de uma entidade.

  • Essa estrutura é fundamental para identificar padrões sazonais, ciclos econômicos, e tendências de longo prazo, bem como para realizar previsões futuras com base no comportamento passado. Este tipo de dados é amplamente utilizado em finanças, economia, meteorologia, e outras áreas onde a dimensão temporal é fundamental para a análise.

Exemplo

  • Série temporal mensal multivariada de dados sobre o preço da ação e volume negociado em bolsa de uma empresa contendo 5.000 observações.
data preco volume
2020-01-01 100 1500
2020-02-01 105 1600
2020-03-01 102 1550
2020-04-01 108 1650
\(\vdots\) \(\vdots\) \(\vdots\)

Dados em Painel

Definição

  • Dados em painel (panel data) referem-se a dados coletados de várias entidades ao longo de múltiplos períodos de tempo (em intervalos regulares).

  • Essa estrutura permite a análise das variáveis ao longo do tempo e entre entidades , fornecendo uma visão mais detalhada e dinâmica das relações entre variáveis do que as análises de secção-cruzada ou séries temporais isoladamente.

  • Micropainel: ou painel curto, é caracterizado por um grande número de indivíduos (ou entidades, como empresas, países, pessoas) e um número relativamente pequeno de períodos de tempo.

  • Macropainel: ou painel longo, é caracterizado por um grande número de períodos de tempo e um número relativamente pequeno de indivíduos

Exemplo

  • 1.000 pequenas empresas ao longo de 5 anos (“micropainel”)
ano empresa lucro ativos divida
2020 1 500 2000 1500
2021 1 600 2200 1600
2022 1 400 1900 1300
2023 1 550 2100 1550
2021 1 620 2250 1620
2022 2 400 2150 1350
2020 2 550 2100 1550
2021 2 620 2250 1620
2022 2 400 2150 1350
2022 2 410 2140 1450
\(\vdots\) \(\vdots\) \(\vdots\) \(\vdots\) \(\vdots\)
2020 1000 490 1900 1400
2021 1000 610 2100 1700
2022 1000 390 1800 1400
2023 1000 540 2200 1650
2021 1000 520 2150 1720

Microeconometria e Macroeconometria

Tipos de Dados Utilizados

Normalmente:

  • Microeconometria: dados em seção-cruzada e micropainéis.

  • Macroeconometria: dados de séries temporais e macropainéis.

Séries Temporais - Conceitos Básicas

O Que São Séries Temporais?

Definição

Dados obtidos a partir de observações coletadas sequencialmente ao longo do tempo.

Exemplos:

  • Administração/Economia: Números de vendas anuais, índices de preços mensais, taxas de juros semanais, taxas de câmbio diárias, preços de ações tick-by-tick, …

  • Meteorologia: Temperaturas máximas e mínimas diárias, índices anuais de precipitação, velocidades horárias do vento, …

  • Ecologia: Abundância de plantas e animais ao longo do tempo, . . .

  • Agricultura: Números anuais para produção agrícola e pecuária, erosão do solo, vendas de exportação, …

  • Ciências da vida: Atividade elétrica do coração em intervalos de milissegundos, …

O Que São Séries Temporais?

Descrição

Notação: Observaçõs \(Y_t\), no tempo \(t = 1, 2, \dots, T\).

Distinguir:

  • Série temporal univariada vs. multivariada
  • Série temporal regular (equidistante) vs. irregular.
  • Tempo discreto vs. contínuo.

Objetivos da análise:

  • Explicação: Entender ou modelar o mecanismo estocástico subjacente a uma série.

  • Previsão: Prever valores futuros de uma série com base em seu histórico ou outras mséries.

Exemplos de Séries Temporais em Administração

Norma ISO 8601

ISO 8601 - Padrão Internacional para Formato de Datas

  • Norma internacional emitida pela International Organization for Standardization (ISO).

  • Define formatos para representar datas e horas de forma clara e unificada.

Formato de Data:

  • Ano-Mês-Dia (YYYY-MM-DD)

  • Exemplo: 2023-07-18

Vantagens:

  • A ISO 8601 fornece um formato padronizado para datas e horas.

  • Seguir esse padrão melhora a clareza e a consistência na gestão de dados.

Possíveis Padrões

Descrição

  • Tendência
  • Sazonalidade
  • Ciclos
  • Dados Extremos (Outliers)

Tendência

Definição

  • A tendência refere-se ao movimento de longo prazo na série temporal, representando a direção geral dos dados ao longo do tempo.

  • Ela pode ser crescente, decrescente ou estável.

  • A tendência captura mudanças de nível nos dados devido a fatores subjacentes como crescimento econômico, avanços tecnológicos, mudanças demográficas, entre outros.

  • Exemplo: Em uma série temporal de vendas de uma empresa ao longo de vários anos, uma tendência crescente pode indicar um aumento contínuo nas vendas.

Tipos de Tendência

Sazonalidade

Definição

  • A sazonalidade diz respeito a flutuações que se repetem em intervalos regulares de tempo, geralmente dentro de um ano (mensal ou trimestral).

  • Esses padrões são causados por fatores sazonais, como estações do ano, feriados ou eventos específicos que ocorrem periodicamente.

  • A sazonalidade pode ser regular, em que as flutuaçõs se repetem de maneira constante e previsível em intervalos regulares.

  • Ou irregular em que as flutuações, embora recorrentes, não ocorrem em intervalos fixos e podem variar significativamente em amplitude e forma.

  • Exemplo: Um aumento nas vendas de sorvetes durante os meses de verão ou um pico nas vendas de brinquedos durante o período de Natal.

Tipos de Sazonalidade

Ciclos

Definição

  • O ciclo representa flutuações de longo prazo em torno da tendência, que não são devidas à sazonalidade e ocorrem em períodos não fixos, geralmente superiores a um ano.

  • Os ciclos são influenciados por fatores econômicos, como recessões e expansões, e podem refletir fases de crescimento e declínio na economia ou em outros sistemas.

  • Ciclo Regular: as flutuações cíclicas ocorrem em intervalos regulares e previsíveis. O período do ciclo é constante, resultando em um padrão repetitivo bem definido

  • Ciclo Irregular: as flutuações cíclicas, embora recorrentes, ocorrem em intervalos irregulares. O período do ciclo pode variar, resultando em um padrão menos previsível e mais variável

Tipos de Ciclos

Primeira Diferença de uma Série Temporal

Descrição

  • A primeira diferença de uma série temporal \(y_t\) é uma transformação que mede a variação entre os valores consecutivos da série.

  • Matematicamente, a primeira diferença de \(y_t\) é dada por:

\[ \Delta y_t = y_t - y_{t-1} \]

Esta transformação é comumente usada para:

  • Remover tendências de longo prazo em séries temporais.

  • Tornar uma série estacionária, o que é uma condição importante para muitos métodos de modelagem.

Exemplo:

  • Se \(y_t\) representa o PIB anual de um país, então \(\Delta y_t\) representaria o crescimento anual do PIB.

Interpretação:

  • \(\Delta y_t > 0\): O valor da série temporal aumentou em relação ao período anterior.

  • \(\Delta y_t < 0\): O valor da série temporal diminuiu em relação ao período anterior.

Operador de Defasagem (Lag)

Descrição

  • O operador de defasagem (ou lag operator) é utilizado em séries temporais para referenciar valores passados de uma variável.

  • Denotado geralmente por L, o operador de defasagem aplicado a uma variável \(y_t\) gera o valor da variável em um período anterior:

\[ L(y_t) = y_{t-1} \]

  • Em termos mais gerais, para uma defasagem ( k ), temos:

\[ L^k(y_t) = y_{t-k} \]

Exemplos:

  • Se temos uma série temporal de preços diários de ações \(p_t\), o operador de defasagem pode ser usado para obter o preço do dia anterior:

\[ L(p_t) = p_{t-1} \] - Cálculo de Diferenças: Podemos utilizar o operador lag para representar a primeira diferença de uma série temporal:

\[ \Delta y_t = y_t - L(y_t) = y_t - y_{t-1} \]

Séries Temporais em R

Classe ts

Descrição

  • A classe ts é a estrutura básica de séries temporais no R.

  • Projetada para séries temporais regulares, onde as observações ocorrem em intervalos de tempo fixos (e.g., mensal, trimestral, anual).

Características principais:

  • Suporte a séries temporais univariadas e multivariadas.
  • Permite definir o início (start) e a frequência (frequency) da série.

Limitações:

  • Funciona apenas com séries temporais regulares.

  • Dificuldade em lidar com dados faltantes ou séries temporais irregulares.

  • Exemplo de criação de uma série temporal trimestral:

y_ts <- ts(c(2.3, 2.5, 2.7, 3.0, 3.2), start = c(2020, 1), frequency = 4)
y_ts
#>      Qtr1 Qtr2 Qtr3 Qtr4
#> 2020  2.3  2.5  2.7  3.0
#> 2021  3.2

Classe xts

Descrição

  • A classe xts (*eXtensible Time Series) é uma extensão da classe zoo, projetada para trabalhar com séries temporais irregulares e regulares**.

Características principais:

  • Ideal para séries financeiras irregulares.
  • Suporta múltiplas colunas, facilitando o trabalho com séries multivariadas.
  • Integração com diversos pacotes de interesse em Financás, como PerformanceAnalytics e quantmod, entre outros.

Vantagens

  • Flexibilidade para usar diferentes frequências e formatos.
  • Manipulação eficiente de dados com lacunas ou séries irregulares.
  • Recursos para armazenamento e agregação de dados intradiários.

Exemplo de criação de uma série temporal xts:

library(xts)
dates <- as.Date(c('2023-01-01', '2023-01-02', '2023-01-04'))
values <- c(100, 101, 102)
y_xts <- xts(values, order.by = dates)
y_xts
#>            [,1]
#> 2023-01-01  100
#> 2023-01-02  101
#> 2023-01-04  102

Classe xts - dados intradiários

# Criar um vetor de datas/tempos intradiário
timestamps <- seq(as.POSIXct("2024-10-08 09:00"), 
                  length.out = 100, 
                  by = "mins")

# simula uma variável aleatória normal
set.seed(123)
precos <- rnorm(100, mean = 100, sd = 1)

# cria série temporal intradiária da classe xts
dados_intradiarios <- xts(precos, order.by = timestamps)

# visualiza as primeiras observações
head(dados_intradiarios)
#>                          [,1]
#> 2024-10-08 09:00:00  99.43952
#> 2024-10-08 09:01:00  99.76982
#> 2024-10-08 09:02:00 101.55871
#> 2024-10-08 09:03:00 100.07051
#> 2024-10-08 09:04:00 100.12929
#> 2024-10-08 09:05:00 101.71506
# visualiza as ultimas observações
tail(dados_intradiarios)
#>                          [,1]
#> 2024-10-08 10:34:00 101.36065
#> 2024-10-08 10:35:00  99.39974
#> 2024-10-08 10:36:00 102.18733
#> 2024-10-08 10:37:00 101.53261
#> 2024-10-08 10:38:00  99.76430
#> 2024-10-08 10:39:00  98.97358
# Aaregar para dados horários (média a cada hora)
dados_horarios <- period.apply(dados_intradiarios, 
                               INDEX = endpoints(dados_intradiarios, 
                                                 on = "hours"), 
                               FUN = mean)

# visualiza os dados agregados
head(dados_horarios)
#>                         [,1]
#> 2024-10-08 09:59:00 100.0656
#> 2024-10-08 10:39:00 100.1276

Classe tsibble

Descrição

  • A classe tsibble é uma estrutura moderna para séries temporais, parte do ecossistema “tidyverse”.

Características principais:

  • Suporta séries temporais regulares e irregulares.
  • Organiza os dados em um formato semelhante a um data frame, com colunas separadas para os índices de tempo e as variáveis.
  • Integra-se ao fluxo de trabalho do “tidyverse” (e.g., dplyr, ggplot2).

Vantagens:

  • Manipulação de séries temporais utilizando funções do “tidyverse”.
  • Suporte para múltiplas séries temporais e dados irregulares.
  • Ferramentas avançadas para análise de séries temporais com o pacote fable.

Exemplo de criação de uma série temporal tsibble:

library(tsibble)
data <- tibble(
  date = seq(as.Date("2023-01-01"), by = "month", length.out = 5),
  value = c(10, 12, 14, 16, 18)
)
y_tsibble <- as_tsibble(data, index = date)
y_tsibble
#> # A tsibble: 5 x 2 [1D]
#>   date       value
#>   <date>     <dbl>
#> 1 2023-01-01    10
#> 2 2023-02-01    12
#> 3 2023-03-01    14
#> 4 2023-04-01    16
#> 5 2023-05-01    18

Autocorrelação nos Resíduos (Correlaão Serial)

Autocorrelação em Séries Temporais

Descrição

  • A autocorrelação ocorre quando os erros são correlacionadas ao longo do tempo, i.e., \(\mathop{\text{Cov}} \left( u_t,\, u_s \right) \neq 0\) para \(t\neq s\).

  • Outra maneira de pensar: O choque do erro \(t\) se correlaciona com choques “próximos” em \(t-1\) e \(t+1\).

  • Nota: Correlação serial e autocorrelação são a mesma coisa.

Autocorrelação Positiva

Erros \(\left( u_t \right)\) no tempo:

Autocorrelação Positiva

Variável resposta \(\left( y_t \right)\) no tempo:

Autocorrelação Negativa

Erros \(\left( u_t \right)\) no tempo:

Autocorrelação Negativa

Variável resposta \(\left( y_t \right)\) no tempo:

Autocorrelação

Modelos Estáticos com Séries Temporais

Vamos começar com um modelo muito comum: um modelo de série temporal estático cujos erros exibem autocorrelação de primeira ordem, também conhecido como .pink[AR(1)]:

\[ \begin{aligned} Y_t &= \beta_0 + \beta_1 X_t + u_t \\ u_t &= \phi u_{t-1} + \epsilon_t, \quad \epsilon_t \sim N(0, \sigma^2) \end{aligned} \] onde o termo de erro \(u_t\) segue um processo autoregressivo de primeira ordem (AR(1)):

  • \(\phi\): Coeficiente de autocorrelação de primeira ordem (AR(1)).

  • autocorrelação de segunda ordem (AR(2)) seria:

\[ \begin{aligned} \color{#6A5ACD}{u_t} = \color{#6A5ACD}{\rho_1 u_{t-1}} + \color{#6A5ACD}{\rho_2 u_{t-2}} + \varepsilon_t \end{aligned} \]

Autocorrelação

Modelos Estáticos com Séries Temporais

Um modelo/processo [AR(p)] tem uma estrutura de erros dada por:

\[ \begin{align} u_t = \sum_{j=1}^\color{#20B2AA}{p} \rho_j u_{t-j} + \varepsilon_t \end{align} \]

permitindo que o erro atual seja correlacionado com até \(\color{#20B2AA}{p}\) de suas defasagens (lags).

Modelo Simulado e Gráfico dos Resíduos

# Carregar os pacotes necessários
library(dynlm)  

# define o número de observações
n <- 200

# defineo os parâmetros da simulação
beta0 <- 2       # intercepto
beta1 <- 0.5    #  parâmetro da variável X
phi <- 0.9       # parâmetro de autocorrelação AR(1)
sigma <- 1       # desvio-padrão dos resíduos

# fixa a semente para reprodutibilidade
set.seed(123)

# gera x: uma variável com tendência
x <- 1:n + rnorm(n)

# inicializa o vetor de resíduos 
u <- numeric(n)

# gerar o primeiro resíduo
u[1] <- rnorm(1, mean = 0, sd = sigma)

# gerar os resíduos autocorrelacionados (AR(1))
for (t in 2:n) {
  u[t] <- phi * u[t - 1] + rnorm(1, mean = 0, sd = sigma)
}

# gerar y
y <- beta0 + beta1*x + u

# Converte x e y para uma série multivariada da classe ts
# frequency = 12 -> dados
dados_ts <- ts(cbind(x, y), start = c(1), frequency = 12)

# Estimar o modelo estático usando dynlm com a série multivariada
modelo_dynlm <- dynlm(y ~ x, data = dados_ts)

# resultado da estimação do modelo
summary(modelo_dynlm)
#> 
#> Time series regression with "ts" data:
#> Start = 1(1), End = 17(8)
#> 
#> Call:
#> dynlm(formula = y ~ x, data = dados_ts)
#> 
#> Residuals:
#>     Min      1Q  Median      3Q     Max 
#> -3.8862 -1.4000 -0.0324  1.2128  5.4738 
#> 
#> Coefficients:
#>             Estimate Std. Error t value Pr(>|t|)    
#> (Intercept) 3.003055   0.251810   11.93   <2e-16 ***
#> x           0.495139   0.002173  227.85   <2e-16 ***
#> ---
#> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#> 
#> Residual standard error: 1.773 on 198 degrees of freedom
#> Multiple R-squared:  0.9962, Adjusted R-squared:  0.9962 
#> F-statistic: 5.192e+04 on 1 and 198 DF,  p-value: < 2.2e-16
# extrai os resíduos do modelo estimado
residuos <- residuals(modelo_dynlm)

# grafico da série temporal dos resíduos
plot(residuos, type = "l", 
     main = "Gráfico dos Resíduos x Tempo", 
     ylab = "Resíduos", 
     xlab = "Tempo")

Autocorrelação

Mínimos Quadrados Ordinários

Para modelos estáticos ou modelos dinâmicos com variáveis explicativas defasadas, na presença de autocorrelação:

  1. O método dos MQO fornece estimativas não vieadas dos parâmetros \(\beta\).

  2. O método dos MQO fornece estimativas viesadas para os erros padrão dos parâmetros.

  3. Os estimadores de MQO dos parâmetros são ineficientes

Lembre-se: Mesmas implicações da heterocedasticidade.

  • A autocorrelação fica mais complicada com a inclusão de variáveis resposta defasadas (\(Y_{t-p}\)).

Autocorrelação em Dados de Secção-Cruzada

Autocorrelação Espacial

  • A autocorrelação pode ocorrer em séries temporais, mas também em dados transversais com uma dimensão espacial (latitude e longitude das unidades observacionais).

Exemplo: Se analisarmos a lucratividade de bancos em diferentes regiões, pode haver uma correlação espacial entre os resíduos de bancos da mesma região ou de regiões vizinhas.

“Tudo está relacionado com tudo o mais, mas coisas próximas estão mais relacionadas do que coisas distantes.” Waldo Tobler (1970)

  • Mais detalhes podem ser encontrados em Anselin (1988).

Autocorrelação

Visão Moderna

  • Uma visão mais ‘moderna’ sobre autocorrelação é que ela apresenta uma oportunidade em vez de um problema.

  • Essa visão, associada a Sargan, Hendry e Mizon, sugere que a autocorrelação nos erros surge como uma consequência de ‘dinâmica mal especificada’.

  • A autocorrelação nos resíduos seria frequentemente causada por uma estrutura dinâmica de \(Y_t\) que não foi modelada.

  • Em outras palavras, existe uma estrutura mais rica \(Y_T\) e mais informações na amostra sobre essa estrutura do que foi capturado por modelos tradicionais.

  • O que seria necessário é um modelo dinâmico que permita essa estrutura extra em \(Y_t\).

Testes Para Autocorrelação

Teste de Durbin-Watson

Descrição

  • O teste de Durbin-Watson (Durbin e Watson, 1950) é um teste para autocorrelação de primeira ordem (AR(1)) nos resíduos

  • Ou seja, o teste assume que a relação é entre um erro e o anterior:

\[ u_{t} = {\rho}u_{t - 1} + v_{t} \tag{1} \]

  • Onde \(v_t \sim N(0, \sigma_v^2)\).

  • Assim, o teste de DW testa:

\[ \text{H}_{0}:\rho = 0 \quad \text{vs.} \quad \text{H}_{1}:\rho \neq 0 \]

  • A estatística do teste é calculada por

\[ \text{DW} = \frac{\sum_{t = 2}^T {\left( \hat{u}_t - \hat{u}_{t - 1} \right)^2}}{\sum_{t = 2}^T \hat{u}_t^2} \] - Importante: A estatística do teste de DW não possui uma distribuição amostral exata (e conhecida) para todos os casos. Ela depende do número de variáveis explicativas, das suas correlações, do número de observacões. Somente se \(n \to \infty\), a estatística do teste tende a seguir uma distribuição normal assintótica sob a hipótese nula.

Condições que Devem Ser Satisfeitas para o Teste DW Ser Válido:

  1. Deve haver um termo constante na regressão

  2. Variáveis explicativas (\(X_t\)) não estocásticas

  3. Não deve haver defasagens (lags) de \(Y_t\)

Teste de Durbin-Watson

Descrição

  • Também podemos escrever

\[ DW\, \approx \,2(1 - \hat {\rho }) \tag{2} \]

  • Onde \(\hat{\rho}\) é o coeficiente de correlação estimado. Como \(\hat{\rho}\) é uma correlação, isso implica que \(-1 \leq \hat{\rho} \leq 1\).

  • Reorganizando a equação de a partir de (2), obtemos \(0 \leq DW \leq 4\).

  • Portanto, a estatística do teste de DW varia entre 0 e 4:

Teste de Durbin-Watson

Teste de Durbin-Watson

Regras de Decisão

  • \(DW \approx 0\): indica autocorrelação positiva (erros sucessivos tendem a ter o mesmo sinal).

  • \(DW \approx 2\): indica ausência de autocorrelação.

  • \(DW \approx 4\): indica autocorrelação negativa (erros sucessivos tendem a ter sinais opostos).

  • Entretanto, existe também uma região intermediária onde não podemos rejeitar ou não rejeitar \(H_{0}\).

  • Esta região existe porque a estatística do teste Durbin-Watson não possui uma distribuição amostral exata (e conhecida) para todos os casos.

Teste de Breusch-Godfrey

Modelos Dinâmicos com Variáveis Respostas Defasadas

Lembre-se: Os estimadores de MQO são viesados e inconsistente quando um modelo tem ambos:

  1. Defasagens da Variável Resposta \(Y_t\), e;

  2. Erros autocorrelacionados.

Problema: Se os estimadores de MQO são viesados para \(\beta\), então eles também são viesados para \(u_t\). ∴ Não podemos aplicar o truque de apenas usar \(e_t\) para aprender sobre \(u_t\).

Solução: O teste de Breusch-Godfrey (Breusch e Godfrey, 1978) inclui as outras variáveis explicativas,

\[ \begin{align} e_t = \color{#6A5ACD}{\underbrace{\gamma_0 + \gamma_1 x_{1t} + \gamma_2 x_{2t} + \cdots}_{\text{Variáveis explicativas}}} + \color{#e64173}{\underbrace{\rho_1 e_{t-1} + \rho_2 e_{t-2} + \cdots}_{\text{Resíduos defasados}}} + \varepsilon_t \end{align} \]

As hipóteses nula e alternativa do teste de Breusch-Godfrey são formalmente definidas da seguinte maneira:

\[ H_0: \rho_1 = \rho_2 = \cdots = \rho_p = 0 \]

onde \(\rho_1, \rho_2, \dots, \rho_p\) são os coeficientes de autocorrelação de diferentes ordens dos resíduos.

\[ H_A: \exists \, \rho_j \neq 0 \quad \text{para pelo menos um} \, j \, \text{com} \, 1 \leq j \leq p \] - ou seja, pelo menos um dos coeficientes de autocorrelação é diferente de zero.

  • \(p\) refere-se à ordem da autocorrelação que está sendo testada, e o valor de \(p\) deve ser especificado pelo analista ao realizar o teste.

Teste de Breusch-Godfrey

Algoritmo

  • Passo 1: Estime o modelo de regressão original

\[ y_t = \beta_0 + \beta_1 X_{1t} + \beta_2 X_{2t} + \dots + \beta_k X_{kt} + u_t \]

  • Passo 2: Obtenha os resíduos \(e_t\) da regressão do passo 1.

  • Passo 3: Regresse os resíduos \(e_t\) contra as variáveis explicativas do modelo original e contra \(p\) defasagens dos resíduos:

\[ e_t = \alpha_0 + \alpha_1 X_{1t} + \dots + \alpha_k X_{kt} + \rho_1 e_{t-1} + \rho_2 e_{t-2} + \dots + \rho_p e_{t-p} + v_t \]

o objetivo é testar a significância dos coeficientes das defasagens dos resíduos (\(\rho_1, \dots, \rho_p\)).

  • Passo 4: Cálculo da estatística de teste \(n\times R_{aux}^2\)

A estatística de teste é baseada no coeficiente de determinação \(R^2\) da regressão auxiliar. A estatística é dada por:

\[ BG = n \cdot R_{aux}^2 \]

sendo \(n\) o número de observações.

  • Distribuição Amostral da Estatística de Teste:

Sob a hipótese nula \(H_0\) (ausência de autocorrelação até a ordem \(p\)), a estatística \(BG = n \cdot R_{aux}^2\) segue aproximadamente uma distribuição qui-quadrado (\(\chi^2\)) com \(p\) graus de liberdade:

\[ BG \sim \chi^2(p) \]

  • Valor-p pequeno (geralmente \(< \alpha\)): Se o valor-p for menor do que o nível de significância pré-determinado \(\alpha\) (como \(0,05\) ou \(0,01\)), rejeitamos a hipótese nula \(H_0\). Isso significa que há evidências estatísticas suficientes para concluir que existe autocorrelação nos resíduos até a ordem \(p\).

  • Valor-p grande (geralmente \(\geq \alpha\)): Se o valor-p for maior ou igual ao nível de significância \(\alpha\), não rejeitamos a hipótese nula \(H_0\). Isso significa que não há evidências estatísticas suficientes para concluir que existe autocorrelação nos resíduos até a ordem \(p\).

Modelos de Regressão com Séries Temporais em R

Hipóteses com Séries Temporais

Hipóteses

  1. \(y\) é uma função linear dos \(\beta_k\)’s e \(u_i\).

  2. Não há multicolinearidade perfeita na amostra.

  3. Os \(u_t\) tem média condicional igual a zero (exogeneidade contemporânea), \(\mathop{\boldsymbol{E}}\left[ u_t \middle| X_t \right] = 0\).

  4. Os \(u_t\) são homocedásticos: \(\mathop{V}(u_t | X) = \mathop{V}(u_t) = \sigma^2\) e

  5. Os erros tem correlação zero entre \(u_t\) e \(u_s\), i.e., \(\mathop{V}(u_t | X) = \mathop{V}(u_t) = \sigma^2\) e \(\mathop{\text{Cor}}(u_t,\,u_| X) = 0\).

  6. Normalidade dos erros, i.e., \(u_t\overset{\text{iid}}{\sim}\mathop{N}\left( 0,\,\sigma^2 \right)\).

Opções de Modelos

Descrição

A modelagem de séries temporais se resume a duas classes de modelos.

  • Modelos Estáticos: não permitem efeito persistente.

  • Modelos Dinâmicos: permitem efeitos persistentes.

    • Modelos com Variáveis Explicativas Defasadas.

    • Modelos Autorregressivos com Defasagem Distribuída (ADL, Autoregressive Distributed-Lag (ADL) Models).

Modelo Estático

Descrição

Os modelos estáticos assumem que a variável resposta (\(y_t\)) depende apenas do período atual:

\[ \begin{align} \text{y}_{\color{#e64173}{t}} = \beta_0 + \beta_1 \text{x}_{\color{#e64173}{t}} + u_{\color{#e64173}{t}} \end{align} \] - Aqui, devemos acreditar que \(x_t\) afeta imediatamente \(y_t\) e não afeta \(y_t\) no futuro.

  • Também precisamos acreditar que os \(y_t\) atuais não dependem de \(x_t\) anteriores.

  • Pode ser uma maneira muito restritiva de considerar dados de séries temporais.

Modelos Dinâmicos

1. Modelos com Defasagens Distribuídas

  • Distributed Lag Models

Esses modelos permitem que \(Y_t\) dependa da(s) variável(eis) explicativa(s) (\(X_t\)) em outros períodos:

\[ \text{Consumo}_{\color{#e64173}{t}} = \beta_0 + \beta_1 \text{Renda}_{\color{#e64173}{t}} + \beta_2 \text{Renda}_{\color{#6A5ACD}{t-1}} + \beta_3 \text{Renda}_{\color{#6A5ACD}{t-2}} + u_{\color{#e64173}{t}} \]

  • Neste caso, a renda afeta imediatamente o consumo e afeta o consumo futuro.

  • Em outras palavras: o consumo hoje depende da renda de hoje e das defasagens da renda (e.g: renda do mês passado ou renda do ano passado)

  • Estimamos os efeitos totais somando os coeficientes das defasagens, por exemplo, \(\beta_1 + \beta_2 + \beta_3\).

  • Nota: Ainda assumimos que o consumo atual não afeta o consumo futuro.

Modelo Dinâmico

2. Modelos Autorregressivos com Defasagens Distribuídas

  • Autoregressive Distributed-Lag (ADL) Models

  • Esses modelos permitem que \(Y_t\) dependa da(s) variável(eis) explicativa(s) (\(X_t\)) e/ou da variável resposta em períodos anteriores.

\[ \begin{align} \text{Consumo}_{\color{#e64173}{t}} = &\beta_0 + \beta_1 \text{Renda}_{\color{#e64173}{t}} + \beta_2 \text{Renda}_{\color{#6A5ACD}{t-1}} + \beta_3 \text{Consumo}_{\color{#6A5ACD}{t-1}} + u_{\color{#e64173}{t}} \end{align} \]

  • Nesse caso, a renda atual afeta o consumo atual e o consumo futuro.

  • Além disso, o consumo atual afeta o consumo futuro — estamos permitindo defasagens na variável resposta (\(Y_{t-1}\)).

Modelo Dinâmico

Modelos Autorregressivos com Defasagem Distribuída

Os modelos ADL são frequentemente especificados como \(\text{ADL}(\color{#FFA500}{p},\,\color{#e64173}{q})\), onde:

  • \(\color{#FFA500}{p}\) é o número (máximo) de lags para .a variável resposta.

  • \(\color{#e64173}{q}\) é o número (máximo) de lags para as variáveis explicativas.

Exemplo: \(\text{ADL}(\color{#FFA500}{1},\,\color{#e64173}{0})\)

\[ \begin{aligned} \text{Consumo}_t = \beta_0 + \beta_1 \text{Renda}_t + \beta_2 \text{Consumo}_{\color{#FFA500}{t-1}} + u_t \end{aligned} \]

Exemplo: \(\text{ADL}(\color{#FFA500}{2},\,\color{#e64173}{2})\)

\[ \begin{aligned} \text{Consumo}_t = &\beta_0 + \beta_1 \text{Renda}_t + \beta_2 \text{Renda}_{\color{#e64173}{t-1}} + \beta_3 \text{Renda}_{\color{#e64173}{t-2}} \\ & + \beta_4 \text{Consumo}_{\color{#FFA500}{t-1}} + \beta_5 \text{Consumo}_{\color{#FFA500}{t-2}} + u_t \end{aligned} \]

Por que desejamos/precisamos incluir defasagens em uma regressão?

Possíveis Razões

  • Inércia em \(Y_t\): Frequentemente, uma mudança no valor de uma das variáveis explicativas não afetará \(Y_t\) imediatamente durante um período de tempo, mas sim com um atraso ao longo de vários períodos de tempo. Por exemplo, o efeito de uma mudança na microestrutura do mercado ou em uma política governamental pode levar alguns meses ou mais para funcionar, pois os agentes podem inicialmente não ter certeza de quais são as implicações para a precificação dos ativos, e assim por diante.

  • Overreactions: Às vezes, argumenta-se que os mercados financeiros reagem exageradamente a boas e más notícias.

Outras Causas de Autocorrelação nos Resíduos

Possíveis Razões

  • Entretanto, outros problemas com o modelo de regressão podem levar à rejeição da hipótese nula de ausência de autocorrelação, tais como:

    • Erro de especificação como o uso de uma forma funcional inadequada.
    • Omissão de variáveis relevantes que são autocorrelacionadas.
    • Sazonalidade não modelada em \(Y_t\)

Modelos na Forma de Primeiras Diferenças

Primeiras Diferenças

  • Outra forma de lidar com o problema de autocorrelação é mudar para um modelo em primeiras diferenças.

  • Denote a primeira diferença de \(y_t\), ou seja, \(y_t - y_{t-1}\) como \(\Delta y_t\); de forma similar para as variáveis x, \(\Delta x_{2t} = x_{2t} - x_{2t-1}\), etc.

  • O modelo agora seria:

\[ \Delta y_{t} = \beta_{1} + \beta_{2} \Delta x_{2t} + \cdots + \beta_{k} \Delta x_{kt} + u_{t} \]

  • Às vezes, a mudança em \(y\) depende dos valores anteriores de \(y\) ou \(x_t\), bem como das mudanças em \(x\):

\[ \Delta y_{t} = \beta_{1} + \beta_{2} \Delta x_{2t} + \beta_{3} \Delta x_{2t-1} + \beta_{4} y_{t - 1} + u_{t} \]

Solução de Equilíbrio Estático de Longo Prazo

Equilíbrio

  • “Equilíbrio” implica que as variáveis atingiram algum estado estacionário e não estão mais mudando, ou seja, se \(y\) e \(x\) estão em equilíbrio, podemos dizer:

\[ y_{t} = y_{t + 1} = \ldots = y \quad {\rm e} \quad x_{t} = x_{t + 1} = \ldots = x, \quad \hbox{e assim por diante.} \]

Consequentemente, \(\Delta y_{t} = y_{t} - y_{t - 1} = y - y = 0, \quad etc.\)

  • Portanto, a maneira de obter uma solução estática de longo prazo é:
  1. Remover todos os subscritos de tempo das variáveis.
  2. Definir os termos de erro como seus valores esperados, \(E(u_t)=0\).
  3. Remover os termos de primeira diferença completamente.
  4. Agrupar os termos em \(x\) e agrupar os termos em \(y\).
  • Esses passos podem ser realizados em qualquer ordem.

Solução de Equilíbrio Estático de Longo Prazo

Um Exemplo

Se o modelo for:

\[ \Delta y_{t} = \beta_{1} + \beta_{2} \Delta x_{2t} + \beta_{3} x_{2t - 1} + \beta_{4} y_{t - 1} + u_{t} \]

então a solução estática seria dada por:

$$ \[\begin{align*} 0 &= \beta _1 + \beta _3 x_{2t-1} + \beta _4 y_{t-1} \\ \beta _4 y_{t-1} &= - \beta _1 - \beta _3 x_{2t-1}\\ y &= - \frac{\beta _1 }{\beta _4 } - \frac{\beta _3 }{\beta _4 }x_2\\ \end{align*}\] $$

Convivendo com Autocorrelação

Convivendo com Autocorrelação

Algoritmo

Suponha que tenhamos evidências de que há heterocedasticidade e autocorrelação nos resíduos. O que podemos fazer?

Algumas opções são:

  1. Verificar a Especificação do Modelo

  2. Conviver com a ineficiência dos estimadores de MQO e encontrar um novo estimador (consistente) da matriz de variâncias-covariâncias: Erros padrão robustos à heterocedasticidade e àautocorrelação (Newey e West, 1987)).

  3. Encontrar um novo estimador não viesado: Feasible Generalized Least Squares (FGLS)

Convivendo com Autocorrelação

Opção 1 - Especificação Incorreta

  • [Especificação incorreta] com autocorrelação é muito semelhante à nossa discussão com heterocedasticidade.

  • Ao especificar incorretamente um modelo, podemos criar autocorrelação.

  • Omitir variáveis que são correlacionadas ao longo do tempo fará com que os erros sejam correlacionadas ao longo do tempo.

Convivendo com Autocorrelação

Opção 1 - Especificação Incorreta

Exemplo: Suponha que o consumo dependem da renda e do consumo anterior:

\[ \begin{aligned} \text{Consumo}_{t} = \beta_0 + \beta_1 \text{Consumo}_{t-1} + \beta_2 \text{Renda}_{t} + u_t \end{aligned} \]

mas escrevemos o modelo como dependente apenas do consumo anterior, ou seja,

\[ \begin{aligned} \text{Consumo}_{t} = \beta_0 + \beta_1 \text{Consumo}_{t-1} + v_t \end{aligned} \] Assim, o erro \(v_t\) é dado por:

\[ v_t = \beta_2 \text{Renda}_t + u_t \]

que provavelmente é autocorrelacionado, já que a renda tende a ser correlacionada no tempo.

Prova:

Considere:

\[ \begin{aligned} v_{t} &= \beta_2 \text{Renda}_{t} + u_{t} \\ v_{t-1} &= \beta_2 \text{Renda}_{t-1} + u_{t-1} \end{aligned} \] Portanto:

\[\begin{aligned} \text{Cov}(v_{t},\,v_{t-1}) &= \text{Cov}(\beta_2 \text{Renda}_{t} + u_{t},\, \beta_2 \text{Renda}_{t-1} + u_{t-1}) \\ &= \color{#e64173}{\text{Cov}(\beta_2 \text{Renda}_{t},\, \beta_2 \text{Renda}_{t-1})} + \text{Cov}(\beta_2 \text{Renda}_{t},\, u_t) + \\& \text{Cov}(u_{t},\, \beta_2 \text{Renda}_{t-1}) + \text{Cov}(u_{t},\, u_{t-1}) \\ & \neq 0 \end{aligned}\]

Em geral, mesmo que \(u_t\) seja exógeno e sem autocorrelação.

Convivendo com Autocorrelação

Opção 2 - Erros padrão robustos à Heterocedasticidade e à Autocorrelação

  • Como no caso de heterocedasticidade, Newey e West (1987) propuseram um estimaador consistente da matriz de variâncias-covariâncias dos parâmetros (i.e, dos erros-padrão) dos parâmetros na presença de heterocedasticidade e autocorrelação nos resíduos.

  • O estimador de Newey-West é uma extensão do estimador de Huber-White, incorporando uma correção adicional para lidar com a autocorrelação dos erros.

  • A fórmula geral do estimador da matriz de covariância de Newey-West é dada por:

\[ \hat{\Omega}_{NW} = X'(X'X)^{-1} \hat{S}_{NW} (X'X)^{-1}X \]

  • \(\hat{S}_{NW}\) é a matriz de covariância ajustada que incorpora tanto a variância dos resíduos quanto as autocovariâncias dos resíduos defasados, sendo dada por:

\[ \hat{S}_{NW} = \sum_{t=1}^{T} \hat{u}_t^2 X_t X_t' + \sum_{l=1}^{q} \sum_{t=l+1}^{T} w_l (\hat{u}_t \hat{u}_{t-l} (X_t X_{t-l}' + X_{t-l} X_t')) \]

Onde:

  • \(\hat{u}_t\) são os resíduos estimados,

  • \(X_t\) é o vetor de regressores no período \(t\),

  • \(w_l\) são os pesos de Bartlett, que decrescem linearmente com o número de defasagens \(l\) e são dados por \(w_l = 1 - \frac{l}{q+1}\),

  • \(q\) é o número máximo de defasagens, escolhido pelo pesquisador.

  • A primeira soma trata da heterocedasticidade, e a segunda soma corrige a autocorrelação dos resíduos, aplicando os pesos \(w_l\) para reduzir a contribuição das defasagens mais longas.

  • Esse ajuste permite que a matriz de variâncias-covariâncias estimada seja robusta à presença de autocorrelação e heterocedasticidade.

Convivendo com Autocorrelação

Opção 3 - FGLS

  • Se não tivermos uma variável resposta defasada, então, o método Feasible Generalized Least Squares (FGLS) fornece estimadores dos erros padrão consistentes e eficientes.

  • Considere modelo estático simples com os erros seguindo um AR(1):

\[ \begin{align} \text{Consumo}_t &= \beta_0 + \beta_1 \text{Renda}_t + u_t \tag{1} \\ u_t &= \rho u_{t-1} + \varepsilon_t \tag{2} \end{align} \]

truque: Escreva \((1)\) para o período \(t-1\) (e então multiplique por \(\rho\))

\[ \begin{align*} \text{Consumo}_{t-1} &= \beta_0 + \beta_1 \text{Renda}_{t-1} + u_{t-1} \tag{3} \\ \rho \text{Consumo}_{t-1} &= \rho \beta_0 + \rho \beta_1 \text{Renda}_{t-1} + \rho u_{t-1} \tag{4} \end{align*} \]

E agora subtraia \((4)\) de \((1)\):

\[ \begin{align*} \text{Consumo}_t - \rho \text{Consumo}_{t-1} =& \beta_0 \left( 1 - \rho \right) + \\ & \beta_1 \text{Renda}_t - \rho \beta_1 \text{Renda}_{t-1} + \\ & u_t - \rho u_{t-1} \end{align*} \]

o que produz um modelo dinâmico muito específico:

\[ \begin{align*} \text{Consumo}_t =& \beta_0 \left( 1 - \rho \right) + \rho \text{Consumo}_{t-1} + \\ & \beta_1 \text{Renda}_t - \rho \beta_1 \text{Renda}_{t-1} + \\ & \color{#e64173}{\underbrace{u_t - \rho u_{t-1}}_{=\varepsilon_t}} \\ &= {\beta_0 \left( 1 - \rho \right) + \rho \text{Consumo}_{t-1} +} \\ &\beta_1 \text{Renda}_t - \rho \beta_1 \text{Renda}_{t-1} + \color{#e64173}{\varepsilon_t} \end{align*} \] - Este modelo transformado é livre de autocorrelação.

P: Como estimamos esse modelo? (Não sabemos \(\rho\).)

R: Usando o método FGLS, é claro.

  1. Estime o modelo original (não transformado); salve os resíduos.
  2. Estime \(\rho\): faça a regressão dos resíduos contra seus lags (sem intercepto).
  3. Estime o modelo transformado, substituindo \(\hat{\rho}\) por \(\rho\).

Referências

ANSELIN, L. Spatial Econometrics: Methods and Models. Dordrecht: Kluwer Academic Publishers, 1988.
BREUSCH, T. S.; GODFREY, L. G. A Review of Recent Work on Testing for Autocorrelation in Dynamic Econometric Models. Australian Economic Papers, v. 17, n. 31, p. 334–355, 1978.
BROOKS, C. Introductory Econometrics For Finance. 4th. ed. [s.l.] Cambridge University Press, 2019.
DURBIN, J.; WATSON, G. S. Testing for Serial Correlation in Least Squares Regression. Biometrika, v. 37, n. 3-4, p. 409–428, 1950.
NEWEY, W. K.; WEST, K. D. A Simple, Positive Semi-Definite, Heteroskedasticity and Autocorrelation Consistent Covariance Matrix. Econometrica, v. 55, n. 3, p. 703–708, 1987.
WOOLDRIDGE, J. M. Introdução à Econometria: Uma Abordagem Moderna. Traducao Flávio E. F. Marques. 5. ed. São Paulo, Brasil: Cengage Learning, 2016.